home *** CD-ROM | disk | FTP | other *** search
- 100 CLS : ON ERROR GOTO 8000
- 110 DIM T(10,100) 'Time(Horizon,ShotPoint)
- 120 COLOR 13,0,0
- 200 PRINT " **** SPOST ****" : PRINT " Seismic data poster"
- 250 '
- 300 ' Written by Jeffrey D. Prouty for Jordan Oil & Gas Co., Dec. 1984'
- 1000 ' 'User Input '
- 1020 PRINT : INPUT " Seismic line";SEISLINE$
- 1030 OPEN SEISLINE$ + ".TXT" FOR INPUT AS #1
- 1050 PRINT
- 1060 INPUT " Horizontal sampling distance (inches)";HSD
- 1100 INPUT "Horizontal scale (+ or - shot points/inch)";HS%
- 1200 INPUT " Vertical scale (inches/second)";VS
- 1300 INPUT " Origin: shot point";OSP%
- 1400 INPUT " time";OT
- 2000 ' 'Data Input '
- 2200 WHILE NOT EOF(1)
- 2300 INPUT #1, H%, X, Y 'Horizon, X, Y (in.)
- 2500 SP%=OSP%+HS%*X : T=OT-Y/VS 'ShotPoint & Time
- 2510 SPN%=(SP%-OSP%)/(HS%*HSD) 'ShotPoint Number
- 2520 T(H%,SPN%)=T 'Time value array
- 2530 IF SPN%>NSP% THEN NSP%=SPN% 'Number of ShotPoints
- 2540 IF H%>NH% THEN NH%=H% 'Number of Horizons
- 2900 WEND
- 2910 IF HS%>0 THEN LSP%=0 : USP%=NSP% : INC%=1 ELSE LSP%=NSP% : USP%=0 : INC%=-1 'Lower & Upper SP's
- 3000 ' 'Table Output '
- 3100 PRINT : PRINT
- 3110 INPUT "Would you like to print a table of time values";Q$
- 3120 IF LEFT$(Q$,1)<>"y" AND LEFT$(Q$,1)<>"Y" GOTO 4000
- 3200 LPRINT : LPRINT CHR$(14)+SEISLINE$ : LPRINT
- 3210 LPRINT SPC(7);"Horizon #"
- 3300 LPRINT " SP#"; : FOR J%=1 TO NH% : LPRINT SPC(5);J%; : NEXT : LPRINT
- 3400 FOR I%=LSP% TO USP% STEP INC%
- 3410 LPRINT USING "####";I%*HS%*HSD+OSP%; 'Print ShotPoint
- 3500 FOR J%=1 TO NH%
- 3510 LPRINT USING "####.###";T(J%,I%); 'Print Times
- 3580 NEXT
- 3590 LPRINT
- 3600 NEXT
- 3610 LPRINT : LPRINT
- 4000 ' 'Horizon Output '
- 5000 ' 'Isotime Output '
- 5100 PRINT : INPUT "Would you like to calculate and print isotimes";Q$
- 5120 IF LEFT$(Q$,1)<>"y" AND LEFT$(Q$,1)<>"Y" GOTO 6000
- 5200 INPUT " Between which two horizons (shallowest, deepest)";S%,D%
- 5240 LPRINT : LPRINT CHR$(14)+SEISLINE$ : LPRINT
- 5260 LPRINT " SP# Isotime: ";S%;"to";D%
- 5300 FOR I%=LSP% TO USP% STEP INC%
- 5310 IF T(S%,I%)=0 OR T(D%,I%)=0 THEN ISO=0! ELSE ISO=T(D%,I%) -T(S%,I%)
- 5320 LPRINT USING "####";I%*HS%*HSD+OSP%; 'Print ShotPoint
- 5330 LPRINT USING "####.###";ISO 'Print Isotime
- 5400 NEXT
- 5500 INPUT " Another isotime";Q$
- 5510 IF LEFT$(Q$,1)="y" OR LEFT$(Q$,1)="Y" GOTO 5200
- 6000 ' 'Menu File Output '
- 6100 PRINT : INPUT "Would you like to create a menu file";Q$
- 6110 IF LEFT$(Q$,1)<>"y" AND LEFT$(Q$,1)<>"Y" GOTO 8000
- 6200 OPEN SEISLINE$ + ".MNU" FOR OUTPUT AS #2
- 6300 FOR J%=1 TO NH%
- 6310 PRINT #2,USING "[HOR. _##";J%; : PRINT #2,"]ATTEDIT;Y;;SDATA;;W;\\+"
- 6400 FOR I%=USP% TO LSP% STEP -INC%
- 6410 PRINT #2,"V;R;"; : PRINT #2,USING "#.###";T(J%,I%);
- 6420 IF I%<>LSP% THEN PRINT #2,";N;+" ELSE PRINT #2,";";CHR$(3)
- 6490 NEXT I%
- 6500 NEXT J%
- 6600 INPUT " Would you like to include isotimes";Q$
- 6610 IF LEFT$(Q$,1)<>"y" AND LEFT$(Q$,1)<>"Y" GOTO 8000
- 6620 INPUT " Between which two horizons (shallowest, deepest)";S%,D%
- 6630 PRINT #2,USING "[ISO. #";S%; : PRINT #2,USING "-#";D%; : PRINT #2,"]ATTEDIT;Y;;SDATA;;W;\\+"
- 6640 FOR I%=USP% TO LSP% STEP -INC%
- 6645 IF T(S%,I%)=0 OR T(D%,I%)=0 THEN ISO=0! ELSE ISO=T(D%,I%)-T(S%,I%)
- 6650 PRINT #2,"V;R;"; : PRINT #2,USING "#.###";ISO;
- 6660 IF I%<>LSP% THEN PRINT #2,";N;+" ELSE PRINT #2,";";CHR$(3)
- 6690 NEXT I%
- 6700 INPUT " Another isotime";Q$
- 6710 IF LEFT$(Q$,1)="y" OR LEFT$(Q$,1)="Y" GOTO 6620
- 8000 ' ' '
- 8100 IF ERR=25 OR ERR=27 OR ERR=57 OR ERR=68 THEN PRINT : INPUT "Check printer and press return when ready",Q$ : RESUME
- 8200 IF ERR=53 THEN PRINT : PRINT "File not found, try again" : RESUME 1020
- 8900 ON ERR GOTO 0
- 9000 ' 'Program End '
- 9100 CLOSE #1, #2
- 9200 LPRINT CHR$(12)
- 9400 PRINT : INPUT "Return to DOS (y/[n])";Q$ : IF LEFT$(Q$,1)="y" OR LEFT$(Q$,1)="Y" THEN CLS : SYSTEM
- 9900 CLEAR : GOTO 100
- 32767 END